#include "taskQueue.h"
//初始化任务队列
int taskQueueInit(taskQueue* pQueue){
    memset(pQueue,0,sizeof(taskQueue));
    return 0;
}
//入队,从队尾入队
int enQueue(taskQueue* pQueue,int fd){
    node_t* newNode = (node_t*)calloc(1,sizeof(node_t));
    newNode->val = fd;
    //第一个入队的节点，此时头指针尾指针都要改
    if(pQueue->size == 0){
        pQueue->qFront = newNode;
        pQueue->qRear = newNode;
    }
    else{
        pQueue->qRear->next = newNode;
        pQueue->qRear = newNode;
    }
    ++pQueue->size;
    return 0;
}
//出队,从队伍头部出队
int deQueue(taskQueue* pQueue){
    node_t* tempNode = pQueue->qFront;
    int fd = tempNode->val;
    pQueue->qFront = tempNode->next;
    //如果是最后一个元素出队，那尾节点和头节点都要改
    if(pQueue->size == 1){
        pQueue->qRear = NULL;
    }
    free(tempNode);
    --pQueue->size;
    return fd;
}
